home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL-ftn / fglpixelstore.z / fglpixelstore
Encoding:
Text File  |  2002-10-03  |  65.1 KB  |  723 lines

  1.  
  2.  
  3.  
  4. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff,,,, ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii - set pixel storage modes
  10.  
  11.  
  12. FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      SUBROUTINE ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff( INTEGER*4 _p_n_a_m_e,
  14.                                 REAL*4 _p_a_r_a_m )
  15.      SUBROUTINE ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii( INTEGER*4 _p_n_a_m_e,
  16.                                 INTEGER*4 _p_a_r_a_m )
  17.  
  18.  
  19. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  20.      _p_n_a_m_e  Specifies the symbolic name of the parameter to be set.  Twelve
  21.             values affect the packing of pixel data into memory:
  22.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT, GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH,
  23.             GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS,
  24.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  25.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS, GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  26.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX, and GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX.  Twelve
  27.             more affect the unpacking of pixel data _f_r_o_m memory:
  28.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH,
  29.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS,
  30.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  31.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  32.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX, and GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX.
  33.  
  34.      _p_a_r_a_m  Specifies the value that _p_n_a_m_e is set to.
  35.  
  36. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  37.      ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee sets pixel storage modes that affect the operation of
  38.      subsequent ffffggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss and ffffggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss as well as the unpacking of
  39.      polygon stipple patterns (see ffffggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee), bitmaps (see
  40.      ffffggggllllBBBBiiiittttmmmmaaaapppp), and texture patterns (see ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD,
  41.      ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD,
  42.      ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, and ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS).  Additionally, if the
  43.      GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is supported, pixel storage modes affect
  44.      convolution filters (see ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD, ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD,
  45.      and ffffggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD), color tables (see ffffggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee and
  46.      ffffggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee), and unpacking histogram (see ffffggggllllHHHHiiiissssttttooooggggrrrraaaammmm) and minmax
  47.      (see ffffggggllllMMMMiiiinnnnmmmmaaaaxxxx) data.
  48.  
  49.      _p_n_a_m_e is a symbolic constant indicating the parameter to be set, and
  50.      _p_a_r_a_m is the new value.  Twelve of the twenty-four storage parameters
  51.      affect how pixel data is returned to client memory.  They are as follows:
  52.  
  53.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  54.                If true, byte ordering for multibyte color components, depth
  55.                components, color indices, or stencil indices is reversed.
  56.                That is, if a four-byte component consists of bytes b , b , b ,
  57.                                                                     0   1   2
  58.                b , it is stored in memory as b , b , b , b  if
  59.                 3                             3   2   1   0
  60.                GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS is true.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS has no effect
  61.                on the memory order of components within a pixel, only on the
  62.  
  63.  
  64.  
  65.                                                                         PPPPaaaaggggeeee 1111
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  73.  
  74.  
  75.  
  76.                order of bytes within components or indices.  For example, the
  77.                three components of a GGGGLLLL____RRRRGGGGBBBB format pixel are always stored
  78.                with red first, green second, and blue third, regardless of the
  79.                value of GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS.
  80.  
  81.      GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  82.                If true, bits are ordered within a byte from least significant
  83.                to most significant; otherwise, the first bit in each byte is
  84.                the most significant one.  This parameter is significant for
  85.                bitmap data only.
  86.  
  87.      GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  88.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH defines the number of
  89.                pixels in a row.  If the first pixel of a row is placed at
  90.                location p in memory, then the location of the first pixel of
  91.                the next row is obtained by skipping
  92.  
  93.  
  94.                                           (
  95.  
  96.                                           |       nl           s _> a
  97.  
  98.                                      k =  |
  99.                                             a_|   snl___|      s < a
  100.                                           |
  101.                                            s| a |
  102.                                           (
  103.  
  104.  
  105.  
  106.  
  107.                components or indices, where n is the number of components or
  108.                indices in a pixel, l is the number of pixels in a row
  109.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument
  110.                to the pixel routine otherwise), a is the value of
  111.                GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  112.                component (if a<s, then it is as if a = s).  In the case of 1-
  113.                bit values, the location of the next row is obtained by
  114.                skipping
  115.  
  116.                                                |   nl__|
  117.                                          k = 8a
  118.                                                |8a|
  119.  
  120.                components or indices.
  121.  
  122.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  123.                values red, green, blue, alpha, and depth.  Storage format
  124.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  125.                red, then green, and finally blue.
  126.  
  127.      GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  128.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT defines the number of
  129.                pixels in an image of a three-dimensional texture volume, where
  130.                an ``image'' consists of all pixels sharing the same third
  131.                dimension index.  If the first pixel of an image is placed at
  132.                location p in memory, then the location of the first pixel of
  133.                the next image is obtained by skipping
  134.  
  135.  
  136.                                          (
  137.  
  138.                                          |         nlh           s _> a
  139.  
  140.                                     k =  |
  141.                                             a_|   snlh____|      s < a
  142.                                          |
  143.                                            s| a  |
  144.                                          (
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.                                                                         PPPPaaaaggggeeee 2222
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  159.  
  160.  
  161.  
  162.                components or indices, where n is the number of components or
  163.                indices in a pixel, l is the number of pixels in a row
  164.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0,  the width
  165.                argument to ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows
  166.                in a pixel image (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0,
  167.                the height argument to the ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD routine otherwise), a
  168.                is the value of GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes,
  169.                of a single component (if a<s, then it is as if a=s).
  170.  
  171.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  172.                values red, green, blue, alpha, and depth.  Storage format
  173.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  174.                red, then green, and finally blue.
  175.  
  176.      GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  177.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS defines the number
  178.                of pixels in a volume of a four-dimensional texture
  179.                hypervolume, where a ``volume'' consists of all pixels sharing
  180.                the same fourth dimension index.  If the first pixel of a
  181.                volume is placed at location p in memory, then the location of
  182.                the first pixel of the next volume is obtained by skipping
  183.  
  184.  
  185.                                         (
  186.  
  187.                                         |          nlhd           s _> a
  188.  
  189.                                    k =  |
  190.                                            a_|    snlhd_____|      s < a
  191.                                         |
  192.                                           s|  a  |
  193.                                         (
  194.  
  195.  
  196.  
  197.  
  198.                components or indices, where n is the number of components or
  199.                indices in a pixel, l is the number of pixels in a row
  200.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument
  201.                to ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS otherwise, h is the number of rows in a
  202.                pixel image (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the
  203.                height argument to the ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), d
  204.                is the number of images in a volume (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  205.                if it is greater than 0, the depth argument to the
  206.                ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), a is the value of
  207.                GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  208.                component (if a<s, then it is as if a=s).
  209.  
  210.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  211.                values red, green, blue, alpha, and depth.  Storage format
  212.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  213.                red, then green, and finally blue.
  214.  
  215.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  216.                and GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  217.                These values are provided as a convenience to the programmer;
  218.                they provide no functionality that cannot be duplicated simply
  219.                by incrementing the pointer passed to ffffggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss.  Setting
  220.                GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS to i is equivalent to incrementing the
  221.                pointer by in components or indices, where n is the number of
  222.                components or indices in each pixel.  Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  223.  
  224.  
  225.  
  226.                                                                         PPPPaaaaggggeeee 3333
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  234.  
  235.  
  236.  
  237.                to j is equivalent to incrementing the pointer by jm components
  238.                or indices, where m is the number of components or indices per
  239.                row, as just computed in the GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH section.
  240.                Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS to k is equivalent to incrementing
  241.                the pointer by kp, where p is the number of components or
  242.                indices per image, as computed in the GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  243.                section.  Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS to k is equivalent
  244.                to incrementing the pointer by kp, where p is the number of
  245.                components or indices per volume, as computed in the
  246.                GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS section.
  247.  
  248.      GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  249.                Specifies the alignment requirements for the start of each
  250.                pixel row in memory.  The allowable values are 1 (byte-
  251.                alignment), 2 (rows aligned to even-numbered bytes), 4 (word-
  252.                alignment), and 8 (rows start on double-word boundaries).
  253.  
  254.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  255.                Specifies the subsample conversion rate that is applied to
  256.                packed pixel stores.  The accepted _p_a_r_a_m values are
  257.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX, and
  258.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444222244442222____SSSSGGGGIIIIXXXX.  When set to other than the
  259.                default GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX value, RGB and RGBA pixel
  260.                groups are sampled to produce two-value packed pixel groups.
  261.                The width argument to the pixel routine must be a multiple of 2
  262.                pixels.  The red, green, and blue components of the pixel are
  263.                sampled in the order specified by the destination format.  When
  264.                a 4-component format is specified, the alpha component is
  265.                ignored. Subsampled pixel pairs are packed as follows:
  266.  
  267.                2424 - decimate :              4242 - decimate :
  268.  
  269.                <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  270.                  |   |   |         |            |   |   |___   ___|
  271.                  |   |   |         |             \ /        \ /
  272.                  |   |    \       /               X          X
  273.                  |   |     \     /               / \        / \
  274.                  |   |      |   |               |   |      |   |
  275.                  V   V      V   V               V   V      V   V
  276.                <P00,P01>  <P10,P11>           <P00,P01>  <P10,P11>
  277.  
  278.  
  279.      GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  280.                Specifies the resample mode in effect when a pack subsample
  281.                rate is being applied.  The only currently allowable value is
  282.                GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____DDDDEEEECCCCIIIIMMMMAAAATTTTEEEE____SSSSGGGGIIIIXXXX. When the subsample rate is not
  283.                uniform for all components, the components that are sampled at
  284.                the lower-rate in the second group of each pixel pair are
  285.                ignored.
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.                                                                         PPPPaaaaggggeeee 4444
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  300.  
  301.  
  302.  
  303.      The other twelve of the twenty-four storage parameters affect how pixel
  304.      data is read from client memory.  These values are significant for
  305.      ffffggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD,
  306.      ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD,
  307.      ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ffffggggllllBBBBiiiittttmmmmaaaapppp, and ffffggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee.
  308.  
  309.      Additionally, if the GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is supported,
  310.      ffffggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee, ffffggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD,
  311.      ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, and ffffggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD.  They are as follows:
  312.  
  313.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  314.           If true, byte ordering for multibyte color components, depth
  315.           components, color indices, or stencil indices is reversed.  That is,
  316.           if a four-byte component consists of bytes b , b , b , b , it is
  317.                                                       0   1   2   3
  318.           taken from memory as b , b , b , b  if GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS is true.
  319.                                 3   2   1   0
  320.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS has no effect on the memory order of components
  321.           within a pixel, only on the order of bytes within components or
  322.           indices.  For example, the three components of a GGGGLLLL____RRRRGGGGBBBB format pixel
  323.           are always stored with red first, green second, and blue third,
  324.           regardless of the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS.
  325.  
  326.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  327.           If true, bits are ordered within a byte from least significant to
  328.           most significant; otherwise, the first bit in each byte is the most
  329.           significant one.  This is relevant only for bitmap data.
  330.  
  331.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  332.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH defines the number of pixels
  333.           in a row.  If the first pixel of a row is placed at location p in
  334.           memory, then the location of the first pixel of the next row is
  335.           obtained by skipping
  336.  
  337.  
  338.                                        (
  339.  
  340.                                        |        nl           s _> a
  341.  
  342.                                   k =  |
  343.                                           a_|   snl___|      s < a
  344.                                        |
  345.                                          s| a |
  346.                                        (
  347.  
  348.  
  349.  
  350.  
  351.           components or indices, where n is the number of components or
  352.           indices in a pixel, l is the number of pixels in a row
  353.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  354.           the pixel routine otherwise), a is the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  355.           and s is the size, in bytes, of a single component (if a<s, then it
  356.           is as if a=s).  In the case of 1-bit values, the location of the
  357.           next row is obtained by skipping
  358.  
  359.                                              |   nl__|
  360.                                        k = 8a
  361.                                              |8a|
  362.  
  363.           components or indices.
  364.  
  365.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  366.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  367.           example, has three components per pixel:  first red, then green, and
  368.  
  369.  
  370.  
  371.                                                                         PPPPaaaaggggeeee 5555
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  379.  
  380.  
  381.  
  382.           finally blue.
  383.  
  384.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  385.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT defines the number of
  386.           pixels in an image of a three-dimensional texture volume, where an
  387.           ``image'' consists of all pixels sharing the same third dimension
  388.           index.  If the first pixel of an image is placed at location p in
  389.           memory, then the location of the first pixel of the next image is
  390.           obtained by skipping
  391.  
  392.  
  393.                                       (
  394.  
  395.                                       |         nlh           s _> a
  396.  
  397.                                  k =  |
  398.                                          a_|   snlh____|      s < a
  399.                                       |
  400.                                         s| a  |
  401.                                       (
  402.  
  403.  
  404.  
  405.  
  406.           components or indices, where n is the number of components or
  407.           indices in a pixel, l is the number of pixels in a row
  408.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  409.           ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows in an image
  410.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the height argument
  411.           to ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), a is the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  412.           and s is the size, in bytes, of a single component (if a<s, then it
  413.           is as if a = s).
  414.  
  415.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  416.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  417.           example, has three components per pixel:  first red, then green, and
  418.           finally blue.
  419.  
  420.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  421.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS defines the number of
  422.           pixels in a volume of a four-dimensional texture hypervolume, where
  423.           a ``volume'' consists of all pixels sharing the same fourth
  424.           dimension index.  If the first pixel of a volume is placed at
  425.           location p in memory, then the location of the first pixel of the
  426.           next volume is obtained by skipping
  427.  
  428.  
  429.                                       (
  430.  
  431.                                       |          nlhd           s _> a
  432.  
  433.                                  k =  |
  434.                                          a_|    snlhd_____|      s < a
  435.                                       |
  436.                                         s|  a  |
  437.                                       (
  438.  
  439.  
  440.  
  441.  
  442.           components or indices, where n is the number of components or
  443.           indices in a pixel, l is the number of pixels in a row
  444.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  445.           ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows in an image
  446.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the height argument
  447.           to ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), d is the number of images in a volume
  448.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS if it is greater than 0, the depth
  449.           argument to the ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), a is the value
  450.           of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  451.           component (if a<s, then it is as if a = s).
  452.  
  453.  
  454.  
  455.                                                                         PPPPaaaaggggeeee 6666
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  463.  
  464.  
  465.  
  466.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  467.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  468.           example, has three components per pixel:  first red, then green, and
  469.           finally blue.
  470.  
  471.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  472.           and GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  473.           These values are provided as a convenience to the programmer; they
  474.           provide no functionality that cannot be duplicated by incrementing
  475.           the pointer passed to ffffggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD,
  476.           ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllBBBBiiiittttmmmmaaaapppp, or ffffggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee.
  477.           Setting GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS to i is equivalent to incrementing the
  478.           pointer by in components or indices, where n is the number of
  479.           components or indices in each pixel.  Setting GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS to
  480.           j is equivalent to incrementing the pointer by jk components or
  481.           indices, where k is the number of components or indices per row, as
  482.           just computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH section.  Setting
  483.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS to k is equivalent to incrementing the pointer
  484.           by kp, where p is the number of components or indices per image, as
  485.           computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT section.  Setting
  486.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS to k is equivalent to incrementing the
  487.           pointer by kp, where p is the number of components or indices per
  488.           volume, as computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS section.
  489.  
  490.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  491.           Specifies the alignment requirements for the start of each pixel row
  492.           in memory.  The allowable values are 1 (byte-alignment), 2 (rows
  493.           aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows
  494.           start on double-word boundaries).
  495.  
  496.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  497.           Specifies the subsample conversion rate that is applied when
  498.           unpacking pixel data.  The accepted _p_a_r_a_m values are
  499.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX, and
  500.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444222244442222____SSSSGGGGIIIIXXXX.  When set to other than the default
  501.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX value, pixel groups are upsampled to
  502.           produce RGB or RGBA component groups, depending on the source
  503.           format.  The packed subsampled source pixel is composed of two
  504.           values, and the width argument to the pixel routine must be a
  505.           multiple of 2 pixels.  The unpacked pixel group is composed of R, G,
  506.           and B components in the order specified by the format.  When a 4-
  507.           component format is specified, an alpha component is added to the
  508.           unpacked group and set to the maximum clamped value of the source
  509.           type.  Pixel group values are also affected by the state of the
  510.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX mode. Subsampled pixel pairs are unpacked as
  511.           follows:
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.                                                                         PPPPaaaaggggeeee 7777
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  529.  
  530.  
  531.  
  532.           2424 - replicate :             2424 - zero-fill :
  533.  
  534.           <P00,P01>     <P10,P11>        <P00,P01>     <P10,P11>
  535.             |   |         |   |            |   |         |   |
  536.             |   |   o-----o---+---o        |   |   o-----o   |
  537.             |   |   |         |   |        |   |   |         |
  538.             o---+---+-----o   |   |        |   |   |    0.0  |  0.0
  539.             |   |   |     |   |   |        |   |   |     |   |   |
  540.             V   V   V     V   V   V        V   V   V     V   V   V
  541.           <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  542.  
  543.  
  544.           4242 - replicate :             4242 - zero-fill :
  545.  
  546.           <P00,P01>     <P10,P11>        <P00,P01>     <P10,P11>
  547.             |   |       __\ __|_           |   |       __\ __|
  548.              \ / \____ /   \    \           \ /       /   \
  549.               X       X__   \    \           X       /     \
  550.              / \     /   \   \    |         / \     /   0.0 \   0.0
  551.             |   |   |     |   |   |        |   |   |     |   |   |
  552.             V   V   V     V   V   V        V   V   V     V   V   V
  553.           <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  554.  
  555.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  556.           Specifies the resample mode in effect when an unpack subsample rate
  557.           is being applied.  The accepted _p_a_r_a_m values are
  558.           GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____RRRREEEEPPPPLLLLIIIICCCCAAAATTTTEEEE____SSSSGGGGIIIIXXXX and GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____ZZZZEEEERRRROOOO____FFFFIIIILLLLLLLL____SSSSGGGGIIIIXXXX.  When
  559.           GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____ZZZZEEEERRRROOOO____FFFFIIIILLLLLLLL____SSSSGGGGIIIIXXXX is selected, the lower-rate sampled
  560.           components in the second group of each pixel pair are assigned a
  561.           zero value.  Otherwise the lower-rate components replicate
  562.           corresponding values from the preceding unpacked group.
  563.  
  564.      The following table gives the type, initial value, and range of valid
  565.      values for each storage parameter that can be set with ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee.
  566.  
  567.  
  568.  _p_n_a_m_e                            TTTTyyyyppppeeee     IIIInnnniiiittttiiiiaaaallll VVVVaaaalllluuuueeee        VVVVaaaalllliiiidddd RRRRaaaannnnggggeeee
  569.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS              boolean       false           true or false
  570.  GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT               boolean       false           true or false
  571.  GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH              integer         0                 [0,oo)
  572.  GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT            integer         0                 [0,oo)
  573.  GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS        integer         0                 [0,oo)
  574.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS               integer         0                 [0,oo)
  575.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS             integer         0                 [0,oo)
  576.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS             integer         0                 [0,oo)
  577.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS       integer         0                 [0,oo)
  578.  GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT               integer         4             1, 2, 4, or 8
  579.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX      enum         4444         4444, 2424, or 4242
  580.  GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX            enum       decimate             decimate
  581.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS            boolean       false           true or false
  582.  
  583.  
  584.  
  585.  
  586.  
  587.                                                                         PPPPaaaaggggeeee 8888
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  595.  
  596.  
  597.  
  598.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT             boolean       false           true or false
  599.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH            integer         0                 [0,oo)
  600.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT          integer         0                 [0,oo)
  601.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS      integer         0                 [0,oo)
  602.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS             integer         0                 [0,oo)
  603.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS           integer         0                 [0,oo)
  604.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS           integer         0                 [0,oo)
  605.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS     integer         0                 [0,oo)
  606.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT             integer         4             1, 2, 4, or 8
  607.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX    enum         4444         4444, 2424, or 4242
  608.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX          enum       replicate     replicate or zero-fill
  609.  
  610.  
  611.      ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff can be used to set any pixel store parameter.  If the
  612.      parameter type is boolean, then if _p_a_r_a_m is 0, the parameter is false;
  613.      otherwise it is set to true.  If _p_n_a_m_e is a integer type parameter, _p_a_r_a_m
  614.      is rounded to the nearest integer.
  615.  
  616.      Likewise, ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii can also be used to set any of the pixel store
  617.      parameters.  Boolean parameters are set to false if _p_a_r_a_m is 0 and true
  618.      otherwise.
  619.  
  620. NNNNOOOOTTTTEEEESSSS
  621.      The pixel storage modes in effect when ffffggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ffffggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss,
  622.      ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS,
  623.      ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD,
  624.      ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ffffggggllllBBBBiiiittttmmmmaaaapppp, or ffffggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee is placed in a
  625.      display list control the interpretation of memory data.  Likewise, if the
  626.      GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is supported, the pixel storage modes in effect
  627.      when ffffggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee, ffffggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD,
  628.      ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, of ffffggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD is placed in a display
  629.      list control the intrepretation of memory data.  The pixel storage modes
  630.      in effect when a display list is executed are not significant.
  631.  
  632.      Pixel storage modes are client state and must be pushed and restored
  633.      using
  634.      ffffggggllllPPPPuuuusssshhhhCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb and ffffggggllllPPPPooooppppCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb.
  635.  
  636. EEEERRRRRRRROOOORRRRSSSS
  637.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _p_n_a_m_e is not an accepted value.
  638.  
  639.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if a negative row length, pixel skip, or
  640.      row skip value is specified, or if alignment is specified as other than
  641.      1, 2, 4, or 8, or if subsample rate or resample is specified with a value
  642.      that is not accepted.
  643.  
  644.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee is executed between
  645.      the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ffffggggllllEEEEnnnndddd.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                                                                         PPPPaaaaggggeeee 9999
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660. ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))              OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee              ffffggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  661.  
  662.  
  663.  
  664. ASSOCIATED GETS
  665.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  666.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  667.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  668.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  669.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  670.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  671.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS
  672.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS
  673.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLSSSSUUUUMMMMEEEE____SSSSGGGGIIIISSSS
  674.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  675.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  676.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  677.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  678.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  679.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  680.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  681.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  682.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  683.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS
  684.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS
  685.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  686.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  687.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  688.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  689.  
  690.  
  691. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  692.      The SSSSGGGGIIIIXXXX____ssssuuuubbbbssssaaaammmmpppplllleeee and SSSSGGGGIIIIXXXX____rrrreeeessssaaaammmmpppplllleeee extensions are supported only on
  693.      Octane2 VPro systems.  Applying the GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX
  694.      subsample rate is accelerated for direct immmediate mode transfers when
  695.      the format is GGGGLLLL____RRRRGGGGBBBB or GGGGLLLL____RRRRGGGGBBBBAAAA, and the type is GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE or
  696.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT.
  697.  
  698.  
  699. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  700.      ffffggggllllBBBBiiiittttmmmmaaaapppp, ffffggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee, ffffggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD,
  701.      ffffggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, ffffggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD, ffffggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss,
  702.      ffffggggllllHHHHiiiissssttttooooggggrrrraaaammmm, ffffggggllllMMMMiiiinnnnmmmmaaaaxxxx, ffffggggllllPPPPiiiixxxxeeeellllMMMMaaaapppp, ffffggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ffffggggllllPPPPiiiixxxxeeeellllZZZZoooooooommmm,
  703.      ffffggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee, ffffggggllllPPPPuuuusssshhhhCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb, ffffggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD,
  704.      ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD,
  705.      ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, ffffggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                                                                        PPPPaaaaggggeeee 11110000
  720.  
  721.  
  722.  
  723.